home *** CD-ROM | disk | FTP | other *** search
/ New Star Software Collection / NSS_Collection.iso / 3-004 ms visual basic pro 30 / 4.imz / 4.IMA / INDEXADD.FR_ / INDEXADD.bin
Text File  |  1993-04-28  |  7KB  |  261 lines

  1. VERSION 2.00
  2. Begin Form fIndexAdd 
  3.    BackColor       =   &H00C0C0C0&
  4.    BorderStyle     =   1  'Fixed Single
  5.    Caption         =   "Add Index"
  6.    ClientHeight    =   2775
  7.    ClientLeft      =   3855
  8.    ClientTop       =   3795
  9.    ClientWidth     =   4905
  10.    ControlBox      =   0   'False
  11.    ForeColor       =   &H00C0C0C0&
  12.    Height          =   3180
  13.    Left            =   3795
  14.    LinkTopic       =   "Form1"
  15.    MaxButton       =   0   'False
  16.    MinButton       =   0   'False
  17.    ScaleHeight     =   2760
  18.    ScaleMode       =   0  'User
  19.    ScaleWidth      =   4932
  20.    Top             =   3450
  21.    Width           =   5025
  22.    Begin CheckBox cPrimaryFlag 
  23.       BackColor       =   &H00C0C0C0&
  24.       Caption         =   "Primary"
  25.       Height          =   252
  26.       Left            =   3570
  27.       TabIndex        =   9
  28.       Top             =   105
  29.       Value           =   1  'Checked
  30.       Width           =   1092
  31.    End
  32.    Begin TextBox cIndexName 
  33.       BackColor       =   &H00FFFFFF&
  34.       Height          =   288
  35.       Left            =   960
  36.       TabIndex        =   0
  37.       Tag             =   "OL"
  38.       Top             =   120
  39.       Width           =   2532
  40.    End
  41.    Begin TextBox cFieldNames 
  42.       BackColor       =   &H00FFFFFF&
  43.       Height          =   528
  44.       Left            =   960
  45.       MultiLine       =   -1  'True
  46.       TabIndex        =   1
  47.       Tag             =   "OL"
  48.       Top             =   480
  49.       Width           =   2532
  50.    End
  51.    Begin ListBox cFieldList 
  52.       BackColor       =   &H00FFFFFF&
  53.       Columns         =   2
  54.       Height          =   1590
  55.       Left            =   960
  56.       Sorted          =   -1  'True
  57.       TabIndex        =   7
  58.       Tag             =   "OL"
  59.       Top             =   1080
  60.       Width           =   2535
  61.    End
  62.    Begin CheckBox cUniqueFlag 
  63.       BackColor       =   &H00C0C0C0&
  64.       Caption         =   "Unique"
  65.       Height          =   252
  66.       Left            =   3570
  67.       TabIndex        =   8
  68.       Top             =   525
  69.       Value           =   1  'Checked
  70.       Width           =   1092
  71.    End
  72.    Begin CommandButton OkayButton 
  73.       BackColor       =   &H00C0C0C0&
  74.       Caption         =   "&OK"
  75.       Default         =   -1  'True
  76.       Enabled         =   0   'False
  77.       Height          =   372
  78.       Left            =   3600
  79.       TabIndex        =   4
  80.       Top             =   1320
  81.       Width           =   1212
  82.    End
  83.    Begin CommandButton CloseButton 
  84.       BackColor       =   &H00C0C0C0&
  85.       Cancel          =   -1  'True
  86.       Caption         =   "&Close"
  87.       Height          =   372
  88.       Left            =   3600
  89.       TabIndex        =   5
  90.       Top             =   1920
  91.       Width           =   1212
  92.    End
  93.    Begin Label FieldListLabel 
  94.       BackColor       =   &H00C0C0C0&
  95.       Caption         =   "Fields:"
  96.       Height          =   252
  97.       Left            =   120
  98.       TabIndex        =   6
  99.       Top             =   1080
  100.       Width           =   732
  101.    End
  102.    Begin Label FieldsLabel 
  103.       BackColor       =   &H00C0C0C0&
  104.       Caption         =   "Indexed Fields:"
  105.       Height          =   492
  106.       Left            =   120
  107.       TabIndex        =   3
  108.       Top             =   480
  109.       Width           =   732
  110.    End
  111.    Begin Label NameLabel 
  112.       BackColor       =   &H00C0C0C0&
  113.       Caption         =   "Name:"
  114.       Height          =   252
  115.       Left            =   120
  116.       TabIndex        =   2
  117.       Top             =   120
  118.       Width           =   732
  119.    End
  120. End
  121. Option Explicit
  122.  
  123. Sub cFieldList_Click ()
  124.   Dim s As String
  125.  
  126.   s = cFieldNames
  127.   If s = "" Then
  128.     cFieldNames = s + cFieldList
  129.   Else
  130.     cFieldNames = s + ";" + cFieldList
  131.   End If
  132.   cFieldNames.Refresh
  133. End Sub
  134.  
  135. Sub cFieldNames_Change ()
  136.   If cIndexName <> "" And cFieldNames <> "" Then
  137.     OkayButton.Enabled = True
  138.   Else
  139.     OkayButton.Enabled = False
  140.   End If
  141. End Sub
  142.  
  143. Sub cFieldNames_LostFocus ()
  144.   If cIndexName <> "" And cFieldNames <> "" Then
  145.     OkayButton.Enabled = True
  146.   Else
  147.     OkayButton.Enabled = False
  148.   End If
  149. End Sub
  150.  
  151. Sub cIndexName_LostFocus ()
  152.   If cIndexName <> "" And cFieldNames <> "" Then
  153.     OkayButton.Enabled = True
  154.   Else
  155.     OkayButton.Enabled = False
  156.   End If
  157. End Sub
  158.  
  159. Sub CloseButton_Click ()
  160.   Unload Me
  161. End Sub
  162.  
  163. Sub Form_Load ()
  164.   Dim t As TableDef
  165.   Dim i As Integer
  166.  
  167.   If gfAddTableFlag = True Then
  168.     Caption = Caption + " to " + fTblStru.cTableName
  169.     fTblStru.cFields.Col = 0
  170.     For i = 1 To fTblStru.cFields.Rows - 1
  171.       fTblStru.cFields.Row = i
  172.       cFieldList.AddItem fTblStru.cFields
  173.     Next
  174.   Else
  175.     Caption = Caption + " to " + fTables.cTableList
  176.     Set t = gCurrentDB.TableDefs(fTables.cTableList)
  177.     For i = 0 To t.Fields.Count - 1
  178.       cFieldList.AddItem t.Fields(i).Name
  179.     Next
  180.   End If
  181.  
  182. End Sub
  183.  
  184. Sub Form_Paint ()
  185.   Outlines Me
  186. End Sub
  187.  
  188. Sub IndexName_Change ()
  189.   If cIndexName <> "" And cFieldNames <> "" Then
  190.     OkayButton.Enabled = True
  191.   Else
  192.     OkayButton.Enabled = False
  193.   End If
  194. End Sub
  195.  
  196. Sub OkayButton_Click ()
  197.   Dim i As New Index
  198.   Dim t As TableDef
  199.   Dim s As String
  200.  
  201.   On Error GoTo AddIndexErr
  202.  
  203.   SetHourglass Me
  204.  
  205.   i.Name = cIndexName
  206.   i.Fields = cFieldNames
  207.   i.Unique = cUniqueFlag
  208.   If gstDataType <> "ODBC" Then i.Primary = cPrimaryFlag
  209.  
  210.   If gfAddTableFlag = False Then
  211.     Set t = gCurrentDB.TableDefs(fTables.cTableList)
  212.     t.Indexes.Append i
  213.   End If
  214.   fTblStru.cIndexes.Row = 1
  215.   fTblStru.cIndexes.Col = 0
  216.   If fTblStru.cIndexes <> "" Then
  217.     'add a row if the first one isn't blank
  218.     fTblStru.cIndexes.Rows = fTblStru.cIndexes.Rows + 1
  219.   End If
  220.   fTblStru.cIndexes.Row = fTblStru.cIndexes.Rows - 1
  221.   fTblStru.cIndexes.Col = 0
  222.   fTblStru.cIndexes = cIndexName
  223.   fTblStru.cIndexes.Col = 1
  224.   fTblStru.cIndexes = cFieldNames
  225.   fTblStru.cIndexes.Col = 2
  226.   If i.Unique = False Then
  227.     s = "False"
  228.   Else
  229.     s = "True"
  230.   End If
  231.   fTblStru.cIndexes = s
  232.   fTblStru.cIndexes.Col = 3
  233.   If gstDataType = "ODBC" Then
  234.     s = "N/A"
  235.   Else
  236.     If i.Primary = False Then
  237.       s = "False"
  238.     Else
  239.       s = "True"
  240.     End If
  241.   End If
  242.   fTblStru.cIndexes = s
  243.   
  244.   'reset the field for another
  245.   cIndexName = ""
  246.   cIndexName.SetFocus
  247.   cFieldNames = ""
  248.   cUniqueFlag = 1
  249.  
  250.   GoTo AddIndexEnd
  251.  
  252. AddIndexErr:
  253.   ShowError
  254.   Resume AddIndexEnd
  255.  
  256. AddIndexEnd:
  257.   ResetMouse Me
  258.  
  259. End Sub
  260.  
  261.